Increasingly, software application programmers must implement locale awareness functionality into applications in order to generate global programs. A global program is a program that can be run anywhere in the world and which tailors the presentation of information to the user according to the user's preferred language and customs. A locale is a geographic, political, or cultural region that shares the same language and customs. If an application is localized properly, the code is easily translatable to different locales without modification of the actual code. A properly localized application is able to run under any supported locale simply by changing the default locale object. Internationalization is the process of isolating the language- and format-dependent code in a computer program from the language- and format-independent code. Once internationalized, the program can be easily localized for each target locale to create a truly global program.
An operation that requires a locale object to perform its task or to tailor information for the user is called Alocale-sensitive@. An example of a locale-sensitive operation is the displaying of a date or time. A date or time should be formatted according to the customs and conventions of the user's locale. For example, if the locale country is the United States and the locale language is English, a date is displayed as "month-day-year"; whereas if the locale country is France and the locale language is French, the (late is displayed as "day-month-year". Furthermore, if the month is displayed in text, or abbreviated text, format rather than numeric format, the months are displayed in the language of the locale. So, for example, a date "Jan. 1, 1900" may be displayed as "1 janvier 1900" in France. When displaying time, some locales display the clock using 24-hour formats, while others display the clock using time-of-day "a.m." and "p.m." conventions.
Heretofore, a localizable date time spinner which allows a user to easily select and scroll through portions of a date or time independent of the default locale, has been unavailable. Instead, date time spinners have been independently created for each locale that the program is supported for. This is problematic for two reasons: first, an independent copy of the same program must be maintained for each locale that is supported; second, this technique requires a significant amount of engineering time to locate and modify all of the locale-specific features, including the language and date and time formats, of the date time spinner for each locale. Accordingly, a need exists for a locale independent date time display mechanism.